/*
 * layui的初始化模块可以理解为，引入这个模块的js文件
 * 值得注意的是：layui的模块之间存在依赖关系，例如引入了table模块，它会layui/lay/moudules/table.js
 * 这个文件引入进来，并且它还会将这个模块所依赖的其他模块自动加入进来，
 * 实际引入的模块有：table、form、jquery、layer、laypage、laytpl、util，7个js文件
 * 所以我仅仅初始化了table模块，却能获得form、jquery、layer的模块对象
 */
//layui初始化表格模组
layui.use([ 'table' ], function() {
	// 获得模块对象
	var table = layui.table;
	var form = layui.form;
	var $ = layui.jquery;
	var layer = layui.layer;
	// 数据表格渲染
	table.render({
		elem : '#resourceTable',
		url : 'delivery/Workorders',
		method : 'get',
		where : {} // 你额外要携带数据，以键值对的方式存入
		,
		toolbar : '#resourceToolbar' // 开启头部工具栏，并为其绑定左侧模板
		,
		cellMinWidth : 80 // 全局定义所有常规单元格的最小宽度（默认：60）
		,
		cols : [ [ {
			type : 'numbers'
		} // 序号
		, {
			type : 'checkbox'
		} // 复选框
		, {
			field : 'workBillId',
			title : '工单Id',
			hide : true
		}, {
			field : 'workBillNo',
			title : '工单单号'
		}, {
			field : 'businessNoticeNo',
			title : '业务受理单单号'
		}, {
			field : 'billType',
			title : '工单类型'
		}, {
			field : 'pickState',
			title : '取件状态'
		}, {
			field : 'ssmNumber',
			title : '短信序号'
		}, {
			field : 'workBillTime',
			title : '工单生成时间',
			templet: "<div>{{layui.util.toDateString(d.workBillTime, 'yyyy-MM-dd HH:mm:ss')}}</div>"
		}, {
			field : 'traceNum',
			title : '追单次数'
		}, {
			field : 'staffNumber',
			title : '取派员编号'
		}, {
			field : 'staffId',
			title : '取派员Id',
			hide : true
		}, {
			field : 'staffName',
			title : '取派员名'
		}, {
			field : 'takeOrgName',
			title : '取派员单位'
		}, {
			field : 'takeTime',
			title : '取件时间',
			templet: "<div>{{layui.util.toDateString(d.takeTime, 'yyyy-MM-dd HH:mm:ss')}}</div>"
		}, {
			field : 'ripAreaId',
			title : '定区ID',
			hide : true
		}, {
			field : 'sortingCode',
			title : '定区编码'
		} ] ],
		page : true // 开启分页
		,
		limit : 10 // 每页显示的条数
		,
		limits : [ 1, 5, 10, 20, 50, 100 ] // 每页条数的选择项
		,
		loading : true // 是否显示加载条(切换分页的时候显示）
		,
		title : '工单表' // 定义 table 的大标题（在文件导出等地方会用到）
		// ,id: 'resourceTable' // 设定容器唯一 id
		,
		even : false
	// 隔行变色
	});
	// 头部搜素表单提交
	form.on('submit(resourceSearchBtn)', function(data) {
		/*
		 * console.log(data.elem) // 被执行事件的元素DOM对象，一般为button对象
		 * console.log(data.form) // 被执行提交的form对象，一般在存在form标签时才会返回
		 * console.log(data.field) // 当前容器的全部表单字段，名值对形式：{name: value}
		 */
		// 执行后台代码
		// 刷新数据表格
		table.reload('resourceTable', {
			url : 'delivery/Workorders',
			where : { // 设定异步数据接口的额外参数，任意设
				workBillNo : $("#workOrderNoth").val(),
				staffName : $("#staffNameth").val()
			},
			page : {
				curr : 1
			// 从第一页开始
			},
			limit : 10
		});
		return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可。
	});
	// --------------------------------------
	// 头工具栏事件
	table.on('toolbar(resourceTableEvent)', function(obj) {
		// 获取当前表格选中状态和选中的数据
		var checkStatus = table.checkStatus(obj.config.id);
		// 区分点击的按钮
		switch (obj.event) {
		case 'frozenRecord':
			if (checkStatus.data.length > 1) {
				layer.msg("最多只能修改一行数据哦！！", {
					icon : 0, // 图标，可输入范围0~6
					time : 2500
				// 2秒关闭（如果不配置，默认是3秒）
				});
			} else if (checkStatus.data.length < 1) {
				layer.msg("请选择要修改的数据哦！！", {
					icon : 3, // 图标，可输入范围0~6
					time : 2500
				// 2秒关闭（如果不配置，默认是3秒）
				});
			} else {
				// 弹出修改模态框，传递当前选中的一行数据过去
				/* console.log(checkStatus.data[0].staffId); */
				initAddResourceModal(checkStatus.data[0]);
				/* table.checkStatus(id); */
			}
			break;
		case 'restoreRecord':
			// 当前选中行的数据
			break;
		}
		;
	});
	// 初始化新增模态框
	var initAddResourceModal = function(obj) {
		/* console.log(obj); */
		// 弹出一个页面层
		layer.open({
			type : 1 // 基本层类型0~4，1为页面层
			,
			title : '转单' // 标题
			,
			area : [ '900px', '450px' ] // 宽高 只写一个参数就是表示宽度，高度会自适应
			,
			content : $("#addResourceModal") // 文本、html都行
			,
			anim : 0 // 弹出动画
			,
			resize : false // 是否允许拉伸
			/*
			 * , end : function() { // 弹出层销毁时的回调函数（不论何种方式，只要关闭了就执行） // 清空表单
			 * $("#addResourceForm")[0].reset(); }
			 */,

			btnAlign : 'c',
			btn : [ '确定提交', '取消' ],
			yes : function(index, layero) {
				var myDate = new Date();
				/* console.log(myDate.toLocaleString()); */
				var s = table.checkStatus('RipareaStaff');
				/* console.log(s.data[0].staffName); */
				if (s.data[0] == undefined) {
					layer.msg("请选择取派员！！", {
						icon : 0, // 图标，可输入范围0~6
						time : 2500
					// 2秒关闭（如果不配置，默认是3秒）
					});
				} else if (s.data.length > 1) {
					layer.msg("选择的数据只能一行！！", {
						icon : 0, // 图标，可输入范围0~6
						time : 2500
					// 2秒关闭（如果不配置，默认是3秒）
					});
				} else {
					// 执行后台代码
					$.ajax({
						type : 'post',
						async : false,
						url : 'delivery/updateworkorder',
						data : { // 设定异步数据接口的额外参数，任意设
							workBillId : obj.workBillId,
							staffId : s.data[0].staffId,
							staffName : s.data[0].staffName,
							staffNumber : s.data[0].staffNumber,
							takeOrgName : s.data[0].orgName,
							remark1 : (myDate.toLocaleDateString()+myDate.getHours()+myDate.getMinutes()+myDate.getSeconds())
						},
						success : function(data) {
							if (data == 1) {
								layer.msg("成功！", {
									icon : 1, // 图标，可输入范围0~6
									time : 2500
								// 2秒关闭（如果不配置，默认是3秒）
								});
							} else {
								layer.msg("失败！", {
									icon : 1, // 图标，可输入范围0~6
									time : 2500
								// 2秒关闭（如果不配置，默认是3秒）
								});
							}
							// 关闭页面上所有类型的所有弹框
							layer.closeAll();
						}
					});
				}
				// 刷新数据表格
				table.reload('resourceTable', {
					url : 'delivery/Workorders',
				});
				return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可。
				console.log(obj.numbers);
				if(obj.numbers){
					
				}
			},
			btn2 : function(index, layero) {
				// 按钮【按钮二】的回调
				// return false 开启该代码可禁止点击该按钮关闭
			}
		});
		// 数据表格渲染
		table.render({
			elem : '#Staff',
			url : 'delivery/Staffs',
			width : 900,
			method : 'get',
			where : {
				staffId : obj.staffId
			} // 你额外要携带数据，以键值对的方式存入
			,
			cellMinWidth : 80 // 全局定义所有常规单元格的最小宽度（默认：60）
			,
			cols : [ [ {
				field : 'staffNumber',
				title : '职员编号'
			}, {
				field : 'staffName',
				title : '职员名字'
			}, {
				field : 'subsetName',
				title : '职员类型名'
			}, {
				field : 'staffPhone',
				title : '手机号'
			}/*
				 * , { field : 'staffPassword', title : '查台密码', templet :
				 * '#staffPassword11', unresize : true }, { field : 'pdaSgin',
				 * title : '是否使用PDA', templet : '#checkboxTpl1' }
				 */, {
				field : 'busNumber',
				title : '车牌号码'
			}, {
				field : 'orgName',
				title : '组织名'
			} ] ],
			/*
			 * page : true // 开启分页 ,
			 */
			limit : 10 // 每页显示的条数
			,
			limits : [ 1, 5, 10, 20, 50, 100 ] // 每页条数的选择项
			,
			loading : true // 是否显示加载条(切换分页的时候显示）
			,

			even : false
		// 隔行变色
		});
		// 数据表格渲染
		table.render({
			elem : '#RipareaStaff',
			url : 'delivery/RipareaStaffs',
			width : 900,
			method : 'get',
			toolbar : '#resourceToolbars' // 开启头部工具栏，并为其绑定左侧模板
			,
			where : {
				ripAreaId : obj.ripAreaId
			} // 你额外要携带数据，以键值对的方式存入
			,
			cellMinWidth : 80 // 全局定义所有常规单元格的最小宽度（默认：60）
			,
			cols : [ [ {
				type : 'numbers'
			} // 序号
			, {
				type : 'checkbox'
			} // 复选框
			, {
				field : 'staffId',
				title : '职员Id',
				hide : true
			}, {
				field : 'staffNumber',
				title : '职员编号'
			}, {
				field : 'staffName',
				title : '职员名字'
			}, {
				field : 'subsetName',
				title : '职员类型名'
			}, {
				field : 'staffPhone',
				title : '手机号'
			}/*
				 * , { field : 'staffPassword', title : '查台密码', templet :
				 * '#staffPassword11', unresize : true }, { field : 'pdaSgin',
				 * title : '是否使用PDA', templet : '#checkboxTpl1' }
				 */, {
				field : 'busNumber',
				title : '车牌号码'
			}, {
				field : 'orgName',
				title : '组织名'
			} ] ],
			page : true // 开启分页
			,
			limit : 10 // 每页显示的条数
			,
			limits : [ 1, 5, 10, 20, 50, 100 ] // 每页条数的选择项
			,
			loading : true // 是否显示加载条(切换分页的时候显示）
			,
			id : 'RipareaStaff',
			even : false
		// 隔行变色
		});

	}
});
